home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 4: GNU Archives / Linux Cubed Series 4 - GNU Archives.iso / gnu / binutils.7 / binutils / binutils-2.7 / gas / config / obj-som.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-07-04  |  2.4 KB  |  71 lines

  1. /* SOM object file format.
  2.    Copyright (C) 1993 Free Software Foundation, Inc.
  3.  
  4.    This file is part of GAS, the GNU Assembler.
  5.  
  6.    GAS is free software; you can redistribute it and/or modify
  7.    it under the terms of the GNU General Public License as published by
  8.    the Free Software Foundation; either version 1, or (at your option)
  9.    any later version.
  10.  
  11.    GAS is distributed in the hope that it will be useful,
  12.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.    GNU General Public License for more details.
  15.  
  16.    You should have received a copy of the GNU General Public License
  17.    along with GAS; see the file COPYING.  If not, write to
  18.    the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  19.  
  20.    Written by the Center for Software Science at the University of Utah
  21.    and by Cygnus Support.  */
  22.  
  23. #ifndef _OBJ_SOM_H
  24. #define _OBJ_SOM_H
  25.  
  26. #define OBJ_SOM 1
  27.  
  28. #include <bfd.h>
  29. #include "bfd/som.h"
  30. #include "targ-cpu.h"
  31.  
  32. #ifndef FALSE
  33. #define FALSE 0
  34. #define TRUE !FALSE
  35. #endif
  36.  
  37. /* should be conditional on address size!  */
  38. #define som_symbol(asymbol) ((som_symbol_type *)(&(asymbol)->the_bfd))
  39.  
  40. extern void som_file_symbol PARAMS ((char *));
  41. extern void obj_som_version PARAMS ((int));
  42. extern void obj_som_init_stab_section PARAMS ((segT));
  43.  
  44. #define obj_symbol_new_hook(s) {;}
  45.  
  46. /* SOM has several attributes for spaces/subspaces which can not
  47.    be easily expressed in BFD.  We use these macros to trigger calls
  48.    into the SOM BFD backend to set these attributes.  */
  49. #define obj_set_section_attributes  bfd_som_set_section_attributes
  50. #define obj_set_subsection_attributes bfd_som_set_subsection_attributes
  51.  
  52. /* Likewise for symbol types.  */
  53. #define obj_set_symbol_type bfd_som_set_symbol_type
  54.  
  55. /* Stabs go in a separate sections.  GDB expects to find them in sections
  56.    with the names $GDB_SYMBOLS$ and $GDB_STRINGS$ rather than .stab and
  57.    .stabstr.  */
  58. #define SEPARATE_STAB_SECTIONS 1
  59. #define STAB_SECTION_NAME "$GDB_SYMBOLS$"
  60. #define STAB_STRING_SECTION_NAME "$GDB_STRINGS$"
  61.  
  62. /* We use INIT_STAB_SECTION to record the space/subspace relationships
  63.    for the various debugging sections.  */
  64. #define INIT_STAB_SECTION(seg) obj_som_init_stab_section (seg)
  65.  
  66. /* We'll be updating the magic 1st stab entry once the entire assembly
  67.    fail has been processed.  */
  68. #define obj_frob_file() som_frob_file()
  69.  
  70. #endif /* _OBJ_SOM_H */
  71.